﻿using SelfMadeMillionaire.Core.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SelfMadeMillionaire.Core.Enums;

namespace SelfMadeMillionaire.Core.Repositories
{
	public interface ISubscriberRepository : IRepository<Subscriber>
	{
		Subscriber Get(string email);
		Subscriber Get(Guid token);
        Subscriber GetByPasswordRecoveryKey(Guid key);
        int CountByDateCreate(DateTime begDate, DateTime endDate, SubscriptionType? level);
        void UnsubscribeSP(string email);

        #region Mailing
        void UpdateMODetail_EmailOpen(string mailing);
        void UpdateMODetail_LandingOpen(string mailing);
        void UpdateMODetail_SubscribeRedirect(string mailing);
        void UpdateMODetail_SubscribeFinish(string mailing);
        #endregion
	}
}
